perm filename RUNNER.SAI[VIS,HPM]1 blob
sn#142197 filedate 1975-01-31 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "RUNNER"
C00006 ENDMK
C⊗;
BEGIN "RUNNER"
REQUIRE "VIXNIC.SAI[VIS,HPM]" SOURCE_FILE;
REQUIRE "WIXNIC.SAI[VIS,HPM]" SOURCE_FILE;
REQUIRE "DDEXT.SAI[VIS,HPM]" SOURCE_FILE;
INTEGER HEIGHT,WIDTH;
HEIGHT←WIDTH←256; BITS←4; NPIC←8;
FILTERWINDOW←20;
INTERESTWINDOW←7;
BEGIN
INTEGER I,NFEATS;
INTEGER ARRAY P1[0:1,0:PICDIM(HEIGHT,WIDTH,BITS)-1],
P2[0:1,0:PICDIM(HEIGHT%2,WIDTH%2,BITS+2)-1],
P4[0:NPIC-1,0:PICDIM(HEIGHT%4,WIDTH%4,BITS+4)-1];
INTEGER ARRAY FEATURE[0:NPIC-1,1:100,0:2];
comment third dimension 0 - value (interest or correlation)
1 - y position of the feature
2 - x position of the feature;
DEFINE VAL="0", X="1", Y="2";
FOR I←0 STEP 1 UNTIL NPIC-1 DO
BEGIN
BEGIN
INTEGER ARRAY T[0:PICDIM(HEIGHT,WIDTH,BITS)-1];
MAKPIX(HEIGHT,WIDTH,BITS,T[0]);
CAMPIX(0,1,1,1,8,T[0]);
CLEAN(T[0]);
PASSHI(T[0],FILTERWINDOW,P1[I MOD 2,0]);
HAFPIC(P1[I MOD 2,0],P2[I MOD 2,0]);
HAFPIC(P2[I MOD 2,0],P4[I,0]);
END;
IF I=0 THEN
BEGIN
INTEGER IAV,I,J;
INTEGER ARRAY INTEREST[-2:(WIDTH-1)%INTERESTWINDOW-1,
0:(HEIGHT-1)%INTERESTWINDOW-1];
IAV←INTRST(P1[0,0],INTERESTWINDOW,INTEREST[0,0]);
NFEATS←0;
FOR I←0 STEP 1 UNTIL (HEIGHT-1)%INTERESTWINDOW-1 DO
FOR J←0 STEP 1 UNTIL (WIDTH-1)%INTERESTWINDOW-1 DO
IF INTEREST[I,J]≥IAV ∧ (INTEREST[I,J] LAND 1)=0 THEN
BEGIN
NFEATS←NFEATS+1;
FEATURE[0,NFEATS,VAL]←INTEREST[I,J];
FEATURE[0,NFEATS,Y]←I*INTERESTWINDOW;
FEATURE[0,NFEATS,X]←J*INTERESTWINDOW;
END;
END
ELSE
BEGIN
INTEGER J;
FOR J←1 STEP 1 UNTIL NFEATS DO IF FEATURE[I-1,J,VAL]≠0 THEN
BEGIN